package cn.slipi.admin.biz.vo.producer;

import cn.slipi.admin.service.dto.in.producer.GrayRelease;
import cn.slipi.admin.service.dto.in.producer.HystrixParam;
import cn.slipi.admin.service.dto.in.producer.LoadBalance;
import lombok.Data;

/**
 * <p>
 * 生产者项目（服务提供者）
 * </p>
 *
 * @author lee
 * @since 2020-12-01
 */
@Data
public class SyncProducerVo {

    private Integer id;

    /**
     * 项目名称
     */
    private String name;

    /**
     * 项目描述
     */
    private String description;

    /**
     * 负载地址（单节点则为实际地址）
     */
    private String loadIp;

    /**
     * 负载节点配置（{"strategy":"ROUND","retryTime":"1","data":[{"server":"127.0.0.1","weight":"1"}]}）
     */
    private LoadBalance loadBalance;

    /**
     * 熔断降级配置（{"commandKey":"","errorThresholdPercentage":"50","groupKey":"","requestVolumeThreshold":"20","sleepWindowInMilliseconds":"5000","timeoutInMilliseconds":"1000"}）
     */
    private HystrixParam hystrixParam;

    /**
     * 灰度发布
     */
    private GrayRelease grayRelease;

    /**
     * 接口协议（HTTP,WEBSERVICE）
     */
    private String protocol;

    /**
     * 传输协议（JSON,XML）
     */
    private String translateProtocol;

    /**
     * 是否启用接口（0：关停，1：启用）
     */
    private Integer enable;

}
